package com.lxw.api.course;


import com.lxw.framework.domain.course.CourseBase;
import com.lxw.framework.domain.course.CourseMarket;
import com.lxw.framework.domain.course.CoursePic;
import com.lxw.framework.domain.course.Teachplan;
import com.lxw.framework.domain.course.ext.TeachplanNode;
import com.lxw.framework.domain.course.request.CourseListRequest;
import com.lxw.framework.model.response.QueryResponseResult;
import com.lxw.framework.model.response.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

@Api(value = "课程操作",description = "课程相关CRUD")
public interface CourseControllerApi {


    @ApiOperation("课程计划查询")
    public TeachplanNode findTeachplanList(String courseId);

    @ApiOperation("根据ID课程计划查询")
    public Teachplan findTeachplanById(String id);

    @ApiOperation("课程计划添加")
    public ResponseResult addTeachplan(Teachplan teachplan);

    @ApiOperation("课程计划更新")
    public ResponseResult editTeachplan(Teachplan teachplan);

    @ApiOperation("课程计划删除")
    public ResponseResult delTeachplan(String id);

    @ApiOperation("课程列表分页查询")
    QueryResponseResult findCourseList(Integer page, Integer size, CourseListRequest courseListRequest);

    @ApiOperation("课程添加")
    public ResponseResult addCourseBase(CourseBase courseBase);

    @ApiOperation("根据ID查询课程基础信息")
    public CourseBase getCourseFormById(String courseId);

    @ApiOperation("更新课程基础信息")
    public ResponseResult updateCoursebase(String courseId,CourseBase courseBase);

    @ApiOperation("根据ID查询课程营销")
    public CourseMarket getCourseMarketById(String courseId);

    @ApiOperation("更新课程营销")
    public ResponseResult updateCourseMarket(String courseId,CourseMarket courseMarket);


    @ApiOperation("添加课程图片")
    public ResponseResult addCoursePic(String courseId,String fileId);

    @ApiOperation("根据ID查询图片")
    public CoursePic getCoursePicById(String courseId);

    @ApiOperation("删除课程图片")
    public ResponseResult delCoursePic(String courseId);

}
